package com.db.gffxo.epi.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.context.ApplicationContext;

import com.db.gffxo.epi.domain.Event;
import com.db.gffxo.epi.domain.EventDetail;
import com.db.gffxo.epi.publish.Publisher;
import com.db.gffxo.epi.repository.EventDao;
import com.db.gffxo.epi.repository.EventDetailDao;
import com.db.gffxo.epi.repository.EventPublishDao;

public interface PublishControllerServices {

	public abstract void updatePublishedEvent(EventDetail event, boolean success);

	public abstract void loadPublishers(ApplicationContext ac);

	//getEventDao();
	public abstract EventDao getEventDao();

	//setEventDao(rs.getEventDao(10));
	public abstract void setEventDao(EventDao eventDao);

	//getEventFormatDao();
	public abstract EventPublishDao getEventPublishDao();

	//setEventFormatDao(rs.getEventFormatDao(10));
	public abstract void setEventPublishDao(EventPublishDao eventFormatDao);

	//getEventDetailDao();
	public abstract EventDetailDao getEventDetailDao();

	//setEventDetailDao(rs.getEventDetailDao(10));
	public abstract void setEventDetailDao(EventDetailDao eventDetailDao);

	public abstract List<EventDetail> getEventDetailBatch();
	
	public abstract ArrayList<Publisher> getPublisher(String eventType);
}